package com.itheima.多态.多态入门_01;

/*
    多态入门,多态语法的三个前提:
        1. 必须存在继承/实现关系!
        2. 要有方法的重写
        3. 父类引用指向子类对象!
 */
public class Demo {
    public static void main(String[] args) {
        /*
            Animal a: 引用数据类型的变量,Animal是Cat的父类,所以Animal a我们称之为父类引用!
            Cat c: 引用数据类型的变量, c在栈里,是一个局部变量,引用的是堆里的一个内存地址
            new Cat(): 创建Cat类的对象. 这个整体会产生一个对象地址!
         */
        Cat c = new Cat();
        //3. 父类引用指向子类对象!  简单理解: 小的给大的,可以直接给! 小的给老的,可以直接给
        Animal a = new Cat();
        a.eat();

        /*int x = 10;
        double y = 10;*/
    }
}
